package com.linln.admin.cmedic.domain;

import com.linln.common.enums.StatusEnum;
import com.linln.common.utils.StatusUtil;
import lombok.Data;
import org.hibernate.annotations.Where;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;

/**
 * @author wh
 * @date 2024/03/26
 */
@Data
@Entity
@Table(name = "db_cmedicine_info")
@EntityListeners(AuditingEntityListener.class)
@Where(clause = StatusUtil.NOT_DELETE)
public class CmedicineInfo implements Serializable {
    // 主键ID
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    /**
     * 原始数据ID
     */
    private Integer originId;

    /**
     * 形态特征
     */
    private String title;

    /**
     * 简介
     */
    private String intro;

    /**
     * 植物种属
     */
    private String plantGenus;

    /**
     * 形态特征
     */
    private String plantFrature;

    /**
     * 分布区域
     */
    private String plantCropArea;

    /**
     * 道地产区
     */
    private String plantRealEstate;

    /**
     * 生长环境
     */
    private String plantGrowthEnvironment;

    /**
     * 生长见习
     */
    private String plantGrowthHabits;

    /**
     * 繁殖方式
     */
    private String plantsireMethods;

    /**
     * 栽培技术
     */
    private String plantTrainTechniques;

    /**
     * 病虫防治
     */
    private String plantPestControl;

    /**
     * 主要变种
     */
    private String plantMajorVariant;

    /**
     * 中文名称
     */
    private String chineseName;

    /**
     * 中文拼音
     */
    private String chinesePinyin;

    /**
     * 拉丁文名
     */
    private String latinName;

    /**
     * 别名
     */
    private String alisaName;

    /**
     * 缩略图
     */
    private String thumbnail;

    /**
     * 界
     */
    private String kingdom;

    /**
     * 门
     */
    private String phylum;

    /**
     * 纲
     */
    private String classify;

    /**
     * 目
     */
    private String catalogue;

    /**
     * 科
     */
    private String family;

    /**
     * 属
     */
    private String genus;

    /**
     * 种
     */
    private String species;

    /**
     * 贮藏方法
     */
    private String storageMethod;

    /**
     * 道地产区
     */
    private String realEstate;

    /**
     * 用药部位
     */
    private String drugSite;

    /**
     * 性味归经
     */
    private String remark;

    /**
     * 毒性
     */
    private String toxicity;

    /**
     * 药材分类
     */
    private String msgType;

    /**
     * 药材分类内容
     */
    private String msgTypeContent;

    /**
     * 饮片名称
     */
    private String herbalPiecesName;

    /**
     * 饮片规格
     */
    private String herbalPiecesSpecification;

    /**
     * 医保类型
     */
    private String healthType;

    /**
     * 参考价格
     */
    private String price;

    /**
     * 声明
     */
    private String statement;

    /**
     * 功能
     */
    private String func;

    /**
     * 主治
     */
    private String mainAttend;

    /**
     * 用法用量
     */
    private String dosage;

    /**
     * 不良反应
     */
    private String adverseReactions;

    /**
     * 禁忌
     */
    private String taboo;

    /**
     * 注意事项
     */
    private String notice;

    /**
     * 化学成分
     */
    private String chemicalComposition;

    /**
     * 药理作用
     */
    private String pharmacology;

    /**
     * 毒理作用
     */
    private String toxicologicalEffects;

    /**
     * 相关论述
     */
    private String relatedDiscussion;

    /**
     * 临床应用
     */
    private String clinicalApplication;

    /**
     * 相关配伍
     */
    private String configuration;

    /**
     * 鉴别用药
     */
    private String identifyMedication;

    /**
     * 相关药品
     */
    private String relatedDrug;

    /**
     * 相关方剂
     */
    private String relatedPrescription;

    /**
     * 药膳食疗
     */
    private String dietGuidelines;

    /**
     * 现代研究
     */
    private String modernResearch;

    /**
     * 附注
     */
    private String notes;

    /**
     * 采收加工
     */
    private String harvestProcess;

    /**
     * 炮制方法
     */
    private String processing;

    /**
     * 鉴别
     */
    private String identify;

    /**
     * 药材性状
     */
    private String medicinalProperty;

    /**
     * 饮片性状
     */
    private String decoctionPiecesCharacter;

    /**
     * 常见伪品
     */
    private String comCounterfeit;

    /**
     * 动物属种
     */
    private String animalGenus;

    /**
     * 形态特征
     */
    private String animalFrature;

    /**
     * 分布区域
     */
    private String animalCropArea;

    /**
     * 道地产区
     */
    private String animalRealEstate;

    /**
     * 生长环境
     */
    private String animalGrowthEnvironment;

    /**
     * 人工制造
     */
    private String animalArtificialManufacture;

    /**
     * 矿物种属
     */
    private String mineralGenus;

    /**
     * 形态特征
     */
    private String mineralFrature;

    /**
     * 分布区域
     */
    private String resourceDistribution;

    /**
     * 道地产区
     */
    private String mineralRealEstate;

    /**
     * 生长环境
     */
    private String mineralGrowthEnvironment;

    /**
     * 理化性质
     */
    private String mineralProperties;

    /**
     * 统计药方中该药材出现次数
     */
    private int statistic;

    /**
     * 统计药方中该药材出现ID集合
     */
    private String statisticIds;

    /**
     * 创建时间
     */
    @CreatedDate
    private Date createDate;

    /**
     * 更新时间
     */
    @LastModifiedDate
    private Date updateDate;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 更新人
     */
    private String updateBy;

    /**
     * 状态
     */
    private Byte status = StatusEnum.OK.getCode();
}